import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {enableProdMode, ViewEncapsulation} from '@angular/core';
import {preloaderFinished} from '@delon/theme';
import {environment} from "@env/environment";

import {AppModule} from './app/app.module';
import {hmrBootstrap} from "./hmr";

preloaderFinished();

if (environment.production) {
    enableProdMode();
}

const bootstrap = () => {
    return platformBrowserDynamic().bootstrapModule(AppModule, {
        defaultEncapsulation: ViewEncapsulation.Emulated,
        preserveWhitespaces: false
    });
};

if (environment.hmr) {
    if (module['hot']) {
        hmrBootstrap(module, bootstrap);
    } else {
        console.error('HMR is not enabled for webpack-dev-server!');
        console.log('Are you using the --hmr flag for ng serve?');
    }
} else {
    bootstrap().then(() => {
        if ((<any>window).appBootstrap) {
            (<any>window).appBootstrap();
        }
    });
}
